using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("CardDef")]
	public class CardDef : MonoBehaviour
	{
		public string m_PortraitTexturePath => method_4("m_PortraitTexturePath");

		public string m_PremiumPortraitMaterialPath => method_4("m_PremiumPortraitMaterialPath");

		public string m_PremiumUberShaderAnimationPath => method_4("m_PremiumUberShaderAnimationPath");

		public string m_PremiumPortraitTexturePath => method_4("m_PremiumPortraitTexturePath");

		public Material m_DeckCardBarPortrait => method_3<Material>("m_DeckCardBarPortrait");

		public Material m_EnchantmentPortrait => method_3<Material>("m_EnchantmentPortrait");

		public Material m_HistoryTileHalfPortrait => method_3<Material>("m_HistoryTileHalfPortrait");

		public Material m_HistoryTileFullPortrait => method_3<Material>("m_HistoryTileFullPortrait");

		public Material m_PracticeAIPortrait => method_3<Material>("m_PracticeAIPortrait");

		public Material m_DeckBoxPortrait => method_3<Material>("m_DeckBoxPortrait");

		public bool m_AlwaysRenderPremiumPortrait => method_2<bool>("m_AlwaysRenderPremiumPortrait");

		public CardEffectDef m_PlayEffectDef => method_3<CardEffectDef>("m_PlayEffectDef");

		public List<CardEffectDef> m_AdditionalPlayEffectDefs => method_3<Class271<CardEffectDef>>("m_AdditionalPlayEffectDefs")?.method_25();

		public CardEffectDef m_AttackEffectDef => method_3<CardEffectDef>("m_AttackEffectDef");

		public CardEffectDef m_DeathEffectDef => method_3<CardEffectDef>("m_DeathEffectDef");

		public CardEffectDef m_LifetimeEffectDef => method_3<CardEffectDef>("m_LifetimeEffectDef");

		public List<CardEffectDef> m_TriggerEffectDefs => method_3<Class271<CardEffectDef>>("m_TriggerEffectDefs")?.method_25();

		public List<CardEffectDef> m_SubOptionEffectDefs => method_3<Class271<CardEffectDef>>("m_SubOptionEffectDefs")?.method_25();

		public string m_CustomSummonSpellPath => method_4("m_CustomSummonSpellPath");

		public string m_GoldenCustomSummonSpellPath => method_4("m_GoldenCustomSummonSpellPath");

		public string m_CustomSpawnSpellPath => method_4("m_CustomSpawnSpellPath");

		public string m_GoldenCustomSpawnSpellPath => method_4("m_GoldenCustomSpawnSpellPath");

		public string m_CustomDeathSpellPath => method_4("m_CustomDeathSpellPath");

		public string m_GoldenCustomDeathSpellPath => method_4("m_GoldenCustomDeathSpellPath");

		public string m_CustomDiscardSpellPath => method_4("m_CustomDiscardSpellPath");

		public string m_GoldenCustomDiscardSpellPath => method_4("m_GoldenCustomDiscardSpellPath");

		public string m_CustomKeywordSpellPath => method_4("m_CustomKeywordSpellPath");

		public string m_CustomChoiceRevealSpellPath => method_4("m_CustomChoiceRevealSpellPath");

		public string m_CustomChoiceConcealSpellPath => method_4("m_CustomChoiceConcealSpellPath");

		public List<SpellTableOverride> m_SpellTableOverrides => method_3<Class271<SpellTableOverride>>("m_SpellTableOverrides")?.method_25();

		public string m_CollectionHeroDefPath => method_4("m_CollectionHeroDefPath");

		public string m_CustomHeroArmorSpell => method_4("m_CustomHeroArmorSpell");

		public string m_SocketInEffectFriendly => method_4("m_SocketInEffectFriendly");

		public string m_SocketInEffectOpponent => method_4("m_SocketInEffectOpponent");

		public string m_SocketInEffectFriendlyPhone => method_4("m_SocketInEffectFriendlyPhone");

		public string m_SocketInEffectOpponentPhone => method_4("m_SocketInEffectOpponentPhone");

		public bool m_SocketInOverrideHeroAnimation => method_2<bool>("m_SocketInOverrideHeroAnimation");

		public bool m_SocketInParentEffectToHero => method_2<bool>("m_SocketInParentEffectToHero");

		public string m_CustomHeroTray => method_4("m_CustomHeroTray");

		public string m_CustomHeroTrayGolden => method_4("m_CustomHeroTrayGolden");

		public List<Board.CustomTraySettings> m_CustomHeroTraySettings => method_3<Class271<Board.CustomTraySettings>>("m_CustomHeroTraySettings")?.method_25();

		public string m_CustomHeroPhoneTray => method_4("m_CustomHeroPhoneTray");

		public string m_CustomHeroPhoneManaGem => method_4("m_CustomHeroPhoneManaGem");

		public string m_AnnouncerLinePath => method_4("m_AnnouncerLinePath");

		public string m_AnnouncerLineBeforeVersusPath => method_4("m_AnnouncerLineBeforeVersusPath");

		public string m_AnnouncerLineAfterVersusPath => method_4("m_AnnouncerLineAfterVersusPath");

		public List<EmoteEntryDef> m_EmoteDefs => method_3<Class271<EmoteEntryDef>>("m_EmoteDefs")?.method_25();

		public bool m_SuppressDeathrattleDeath => method_2<bool>("m_SuppressDeathrattleDeath");

		public bool m_SuppressPlaySoundsOnSummon => method_2<bool>("m_SuppressPlaySoundsOnSummon");

		public CardTextBuilderType m_CardTextBuilderType => method_2<CardTextBuilderType>("m_CardTextBuilderType");

		public List<CardDefSpecialEvent> m_SpecialEvents => method_3<Class271<CardDefSpecialEvent>>("m_SpecialEvents")?.method_25();

		public Material m_LoadedPremiumPortraitMaterial => method_3<Material>("m_LoadedPremiumPortraitMaterial");

		public Material m_LoadedDeckCardBarPortrait => method_3<Material>("m_LoadedDeckCardBarPortrait");

		public Material m_LoadedEnchantmentPortrait => method_3<Material>("m_LoadedEnchantmentPortrait");

		public Material m_LoadedHistoryTileFullPortrait => method_3<Material>("m_LoadedHistoryTileFullPortrait");

		public Material m_LoadedHistoryTileHalfPortrait => method_3<Material>("m_LoadedHistoryTileHalfPortrait");

		public Material m_LoadedCustomDeckPortrait => method_3<Material>("m_LoadedCustomDeckPortrait");

		public Material m_LoadedDeckPickerPortrait => method_3<Material>("m_LoadedDeckPickerPortrait");

		public Material m_LoadedPracticeAIPortrait => method_3<Material>("m_LoadedPracticeAIPortrait");

		public Material m_LoadedDeckBoxPortrait => method_3<Material>("m_LoadedDeckBoxPortrait");

		public CardPortraitQuality m_portraitQuality => method_3<CardPortraitQuality>("m_portraitQuality");

		public Texture m_LoadedPortraitTexture => method_3<Texture>("m_LoadedPortraitTexture");

		public Texture m_LoadedPremiumPortraitTexture => method_3<Texture>("m_LoadedPremiumPortraitTexture");

		public CardTextBuilder m_cardTextBuilder => method_3<CardTextBuilder>("m_cardTextBuilder");

		public static int LARGE_MINION_COST => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "CardDef", "LARGE_MINION_COST");

		public static int MEDIUM_MINION_COST => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "CardDef", "MEDIUM_MINION_COST");

		public CardDef(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CardDef(IntPtr address)
			: this(address, "CardDef")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public string DetermineActorPathForZone(Entity entity, TAG_ZONE zoneTag)
		{
			return method_13("DetermineActorPathForZone", entity, zoneTag);
		}

		public SpellType DetermineSummonInSpell_HandToPlay(Card card)
		{
			return method_11<SpellType>("DetermineSummonInSpell_HandToPlay", new object[1] { card });
		}

		public SpellType DetermineSummonOutSpell_HandToPlay(Card card)
		{
			return method_11<SpellType>("DetermineSummonOutSpell_HandToPlay", new object[1] { card });
		}

		public void OnPortraitLoaded(Texture portrait, int quality)
		{
			method_8("OnPortraitLoaded", portrait, quality);
		}

		public CardPortraitQuality GetPortraitQuality()
		{
			return method_14<CardPortraitQuality>("GetPortraitQuality", Array.Empty<object>());
		}

		public Texture GetPortraitTexture()
		{
			return method_14<Texture>("GetPortraitTexture", Array.Empty<object>());
		}

		public bool IsPremiumLoaded()
		{
			return method_11<bool>("IsPremiumLoaded", Array.Empty<object>());
		}

		public CardTextBuilder GetCardTextBuilder()
		{
			return method_14<CardTextBuilder>("GetCardTextBuilder", Array.Empty<object>());
		}

		public Material GetPremiumPortraitMaterial()
		{
			return method_14<Material>("GetPremiumPortraitMaterial", Array.Empty<object>());
		}

		public Material GetDeckCardBarPortrait()
		{
			return method_14<Material>("GetDeckCardBarPortrait", Array.Empty<object>());
		}

		public Material GetEnchantmentPortrait()
		{
			return method_14<Material>("GetEnchantmentPortrait", Array.Empty<object>());
		}

		public Material GetHistoryTileFullPortrait()
		{
			return method_14<Material>("GetHistoryTileFullPortrait", Array.Empty<object>());
		}

		public Material GetHistoryTileHalfPortrait()
		{
			return method_14<Material>("GetHistoryTileHalfPortrait", Array.Empty<object>());
		}

		public Material GetCustomDeckPortrait()
		{
			return method_14<Material>("GetCustomDeckPortrait", Array.Empty<object>());
		}

		public Material GetDeckPickerPortrait()
		{
			return method_14<Material>("GetDeckPickerPortrait", Array.Empty<object>());
		}

		public Material GetPracticeAIPortrait()
		{
			return method_14<Material>("GetPracticeAIPortrait", Array.Empty<object>());
		}

		public Material GetDeckBoxPortrait()
		{
			return method_14<Material>("GetDeckBoxPortrait", Array.Empty<object>());
		}
	}
}
